The present invention relates to kerning and, in particular, a method of adjusting the kerning distance between adjacent characters either with or without use of previously stored kerning distances for character pairs.
The traditional way of automatically providing kerning is to have a look-up table for each possible pair of characters in a font giving the kerning distance for that pair of characters. In this way the printer or other display device knows to what extent the spacing between the characters should be adjusted in order to give an aesthetically pleasing result. The kerning distances entered in such memories or look-up tables are essentially empirically derived.
This process is difficult if the number of characters is very large since the number of entries in the look-up table then very substantially expands. One approach to this problem is described in U.S. Pat. No. 5,432,890 (Canon KK) in which essentially unidirectional data is used to modify the kerning distance.
The above described arrangement works well with regular character fonts, however, as will be explained hereafter, problems can arise with fonts which are modified, or have some form of perturbation, or are in some way irregular.
Since the use of modified, perturbed or otherwise irregular fonts is increasing, the present invention seeks to find a way of automatically adjusting the kerning distance between adjacent characters in order to provide a kerning method which, whilst able to be used with regular characters, is also able to be used with modified or otherwise irregular characters.
In accordance with the first aspect of the present invention there is disclosed a method of modifying a kerning distance between a pair of modified characters having a shape different from the same pair of characters but unmodified, said method comprising the step of deriving from the changes in shape of the modified characters in the kerning direction a modified kerning distance.
In accordance with a second aspect of the present invention there is disclosed a method of adjusting the kerning distance between adjacent characters in a character string without use of a previously stored distance for each character pair, said adjacent characters comprising a first, positioned character, and a second character to be positioned adjacent said first character and spaced therefrom by the kerning distance, said method comprising the steps of making said second character approach said first character, calculating a two dimensional measure of the approach of said second character to said first character, and stopping said approach when said two dimensional measure passes a threshold value.
In accordance with a third aspect of the present invention there is disclosed a system for adjusting the kerning distance between adjacent characters in a character string without use of a previously stored distance for each character pair, said adjacent characters comprising a first, positioned character, and a second character to be positioned adjacent said first character and spaced therefrom by the kerning distance, said system comprising approach means to make said second character approach said first character, calculating means to calculate a two dimensional measure of the approach of said second character to said first character, and threshold means connected to said approach means and said calculating means to stop said approach when said two dimensional measure passes a threshold value.
In accordance with a fourth aspect of the present invention there is disclosed a computer program product for adjusting the kerning distance between adjacent characters in a character string without use of a previously stored distance for each character pair, said adjacent characters comprising a first, positioned character, and a second character to be positioned adjacent said first character and spaced therefrom by the kerning distance, said product comprising approach means to make said second character approach said first character, calculating means to calculate a two dimensional measure of the approach of said second character to said first character, and threshold means interacting with said approach means and said calculating means to stop said approach when said two dimensional measure passes a threshold value.
In accordance with a fifth aspect of the present invention there is disclosed a method of adjusting kerning for modified characters where a kerning value for each unmodified character pair is known, said method comprising the steps of:
1. estimating an amplitude of the character modification in the kerning direction for each character of the pair, and
2. increasing the kerning value for each character pair by substantially the sum of said amplitudes.
In accordance with a sixth aspect of the present invention there is disclosed apparatus for adjusting the kerning values for modified character pairs based on a known kerning value for each unmodified character pair, said apparatus comprising first memory means to store said known kerning value for each unmodified character pair, value adjusting means to add to each said known value substantially the sum of the estimated amplitudes of the character modification for each character of the pair in the kerning direction, and second memory means to store the sum of said addition as an increased kerning value for each modified character pair.
In accordance with a seventh aspect of the present invention there is disclosed a computer program product for adjusting the kerning values for modified character pairs based on a known kerning value for each unmodified character pair, said product comprising first memory means to store said known kerning value for each unmodified character pair, value adjusting means to add to each said known kerning value substantially the sum of functions which are applied to the estimated amplitudes of the character modification for each character of the pair in the kerning direction, and second memory means to store the sum of said addition as an increased kerning value for each modified character pair.